Automatic synchronization of state colors across a web-based system

ABSTRACT

A network provides color translation between a server side application and a web browser application. A color object created on the server sides is reduced into the individual color components defining the color property for the object. These discrete color components are then converted into numerical values representing the intensity of the respective component. The color components are then combined into a format usable by a web-based computer application. For objects including text information, the color property for the text is automatically determined, based on the translated color object, to achieve a high contrast between the background color and the foreground or text color.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a divisional of co-pending U.S. applicationSer. No. 09/232,409, filed Jan. 15, 1999, which is incorporated hereinby reference in its entirety.

BACKGROUND OF THE INVENTION

[0002] 1. Description of the Related Art

[0003] Network management has experienced explosive growth and become afundamental part of network infrastructure. Network management isessentially a set of tools and processes that enables one to control,monitor, and troubleshoot a network. A network manager typically usesstandalone or integrated network management software to collect andprocess management data from the network.

[0004] One of the functions served by a network management software isthe monitoring (or health polling) and notification of the state ofvarious network devices. The state of a monitored device is reported,for example, as an entry in an event log dialog box. However, as the useof network systems has grown, so too has the size of the networks.Todays networks typically include large numbers of network devices. Toprovide a manageable interface, the network management software has beenconfigured to report only notable aspects of the network or a particularnetwork device. For example, reporting has been restricted to reportonly certain changes in the state of a particular device. The networkconditions or events which trigger this type of restricted reporting aretypically referred as network or device alarms.

[0005] An alarm is the mechanism used to identify a notable eventoccurring on the network, such as a change in the state of a device.Specifically an alarm differentiates the notable event from normalnetwork operation. To further streamline reporting performed by networkmanagement software, a number of different alarm settings have beenused. Specifically, an alarm event type has been used to represent atype of condition, for example a threshold, the occurrence of which maybe a notable network event. In addition, differing alarm severities havebeen used to represent importance levels of an occurrence of aparticular alarm event type. A particular alarm severity is typicallybased on the relative importance assigned, usually by a networkadministrator, to the alarm or the monitored device. The correspondingalarm severity class depends on the extent to which the threshold hadbeen exceeded. For example, an occurrence of an event only slightlyexceeding an alarm event threshold is represented by a “minor” alarm,while an event greatly exceeding the threshold is represented by a“critical” alarm. In addition, an “informational” alarm severity classhas been established to provide information for devices not exceedingnormal operating conditions.

[0006] A number of alarm event and alarm severity combinations may beactive. Alarm severity classes, for example, have included cleared (orinformational), indeterminate, minor, major and critical alarm classes.To assist the user in distinguishing between the various alarm severity,color coded entries have been used. Event log entries having an alarmcontain a field having the color that is associated with the particularalarm. A monitored device having an alarm with a “critical” severity hastypically been assigned a red state color. A critical severity indicatesthat the state of a device has greatly exceeded normal operatingconditions, such as dropping or losing large amounts of data.Alternatively, a monitored device having an alarm with a “cleared”severity has been typically assigned a green state color. A clearedseverity indicates a device responded to its last health poll. Toprovide maximum flexibility for user preferences, the alarm severitycolors may be capable of modification by a user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0007] A better understanding of the present invention can be obtainedwhen the following detailed description of the preferred embodiment isconsidered in conjunction with the following drawings, in which:

[0008]FIG. 1 is a block diagram of a network management system having aweb-side network management application and a server-side networkmanagement application in accordance with the present invention;

[0009]FIG. 2 is a block diagram of a color translation protocol for thenetwork of FIG. 1 in accordance with the present invention;

[0010]FIG. 3 is a flow diagram of a color translation process inaccordance with the color translation protocol of FIG. 2;

[0011]FIG. 4 is a flow diagram of a process for the automatic selectionof text color in accordance with the color translation process of FIG.3;

[0012]FIG. 5 is a device status screen display illustrating a userconfigured color setting on the server side application of FIG. 1; and

[0013]FIG. 6 is a screen display illustrating color matching on the webside application of FIG. 1 and automatic text color selection inaccordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0014] A device management application has been developed that providesautomatic monitoring of devices that are connected to a communicationnetwork and are manageable using simple network management protocol.Such an SNMP network management application is described in commonlyassigned U.S. patent application Ser. No. 09/098,027 entitled “Methodand Apparatus for Automatic Monitoring of Simple Network ManagementProtocol Manageable Devices” to Jeffrey A. Schunicht, Justin E. York,Pete A. Hansen and Charles W. Cochran, filed Jun. 15, 1998, herebyincorporated by reference as if set forth in its entirety.

[0015] A remote application has been developed that provides a web-basedinterface for network management software. Such a remote networkmanagement application is described in commonly assigned U.S. patentapplication Ser. No. 09/231,286, entitled “Interactive Web-Based NetworkManagement” to Jeffrey A. Schunicht, Justin E. York, Pete A. Hansen andCharles W. Cochran, filed Jan. 15, 1999, hereby incorporated byreference as if set forth in its entirety.

[0016] A simplified procedure for monitoring devices in a networkmanagement system using automatic prepopulation of notification rules isdescribed in commonly assigned U.S. patent application Ser. No.09/231,251, filed Jan. 15, 1999, issued as U.S. Pat. No. 6,493,755 onDec. 10, 2002, entitled “Automatic Notification Rule Definition for aNetwork Management System” to Justin E. York and Peter A. Hansen, herebyincorporated by reference as if set forth in its entirety.

[0017] The color modification capability of network management software,however, has caused complications for remote applications. Typically,the alarm state colors on a remote application, such as a web-basednetwork management interface, are hard-coded to match the default colorsspecified on the server side (or operating system-based) networkmanagement application. Therefore, a change made to the alarm statecolors on the server side application is not reflected on the web-basedapplication. Instead, the web-based software is forced to display onlythe colors that had been hard-coded into the system. Thus, to avoidinconsistent reporting, the user needed to be aware of this limitation,and modify only the state colors which had a corresponding hard-codedassignment in the web-based application.

[0018] In addition, under some color standard protocols or preferences,it has been desirable to have a substantially dark color to represent aspecific alarm severity state. In such an instance, however, the defaultcolor for text in such a system has typically been black. Thus, thecombination of the default black text color and the user defined darkcolor background object, representing the alarm severity, created atext/background combination having low contrast. Such a low contrastcombination rendered the text notations associated with the alarmdifficult to discern. Specifically, although network management softwarehas provided user modification of alarm color indicators, the defaultcolor of black for text, or foreground, effectively eliminates use of amajority of dark colors as background alarm indicators. As such, theuser was again forced to consider color display limitations,specifically color contrast combinations, in configuring the alarm colorconfigurations.

[0019]FIG. 1 illustrates a network management system N according to theinvention, permitting interactive web-based network management. Thesystem N permits a network administrator to remotely access a networkmanagement software program 76 remotely, using a web page displayed on aremote web-based computer. A host system 70 is shown. The networkmanagement software 76 is stored in memory 72 on the host system 70. Thenetwork management software 76 creates a network management interfacerepresenting the state of monitored devices 82 to be displayed in thehost computer 70. According to one embodiment of the invention, thenetwork management user interface (not shown), created by the networkmanagement software 76, is identically presented as a remote networkmanagement user interface on the web page of the web-based application56 on the client system 60.

[0020] The host system 70 includes a web interface mechanism (notshown). The web interface mechanism is a software program that makesremote web-based access of the network management software 76 possible.The web interface mechanism translates requests and responses from theweb browser side. Communications between the web interface mechanism andthe web browser are in hypertext transfer protocol, or HTTP.Communications between the web interface mechanism, more generally thenetwork management software, and the network interconnection are insimple network management protocol, or SNMP.

[0021] The network management software 76 communicates with the devices82 via the network interconnections 80 using SNMP protocol. Of note, ifa network administrator was communicating with the network managementsoftware 76 on the host system 72 using the network management userinterface, only the SNMP protocol would be necessary for communicatingwith the device 82.

[0022] Communication between the web-based interface and the networkmanagement software is described in detail in the commonly-assigned U.S.patent application Ser. No. 09/231,286, entitled “Interactive Web-BasedNetwork Management”, previously incorporated by reference.

[0023] Turning now to FIG. 2, shown is a block diagram illustratingcolor translation of a state color object from a server side application76 to a corresponding web-based application 56 loaded to a web browser62. According to one embodiment, the color translation code 204 isincluded in the network management software 76. It will be appreciated,however, that the color translation code 204 can alternatively run aspart of a remote application.

[0024] The translation algorithm 204 begins by receiving color data fora server side state color object 202. The state color object 202 can beassociated with any image or text having a color property. The colorvalue assigned to the state color object 202 indicates the colorproperty. In a disclosed embodiment of the present invention, the statecolor object 202 is associated with a background or foreground. Usuallytext is the foreground while the background is simply a color apart fromthe text color. Under the Windows™ operating system, the color propertyis defined by an “RGB” function. An RGB color value specifies therelative intensities of a red color component, a green color component,and a blue color component that combine to create a specific color to bedisplayed. Those skilled in the art will appreciate that the color maybe represented in this manner. The intensity of any individual colorcomponent is specified by the numerical value representing thatcomponent on a range from 0 to 255; the greater the numerical value, thehigher the color intensity of the color component.

[0025] The color translation code 204 receives a server side object 202containing a color property from a server side application 210, forexample the network management software 76, running under the serverside operating system such as the Windows™. The server side object 202received by the color translation code 204 includes a full set ofdefinitions that describe both the color and style of the object. Thecolor translation code 204 then parses out the data which is onlyapplicable to the color value for the object. Specifically, a “COLORREF”value is separated from the object definitions. The COLORREF value is a32-bit value used by Windows™ to specify the RGB color value. TheCOLORREF value is defined by the Windows™ operating system specificationand is hereby incorporated by reference. The low order byte contains thenumerical value for red, the middle byte contains the numerical valuefor green, and the high order byte contains the numerical value forblue. After parsing the relevant COLORREF data from the objectdefinitions, the COLORREF value is translated into an hypertext markuplanguage (HTML) string 211 of the format “#RRGGBB”. The HTML color codestring protocol is defined by the HTML color specification and isincorporated by reference. This HTML color code string 212 is thenassigned to a web side state color object 206 and sent to the web-basedapplication 56 within a web browser 208 such as Netscape or InternetExplorer, where the object 206 is then displayed on a screen.

[0026] Prior to the present invention, color matching, if any, requiredthat the HTML color strings approximating the color represented by theWindows™ COLORREF value be hard-coded as part of the network managementsoftware. Therefore, a modification to an alarm color on the server sideapplication would be correctly displayed on the web-based applicationonly where the modified color was included in the list of hard-codedHTML color strings. Further, since each color to be displayed on theweb-based application required its own specific color string, only alimited number of colors could be at least approximately matched.Therefore the present invention provides color matching or colorsynchronizing without hard coding each and every color translationavailable, or even providing a less extensive color translation map, forcolor translation between the Windows™ and the HTML color protocols. Thecolor translation algorithm provides color synchronizing that is dynamicacross the range of available colors.

[0027] Because the translation is color independent, the color isautomatically and precisely matched between the server side application210 and the web browser 62. Further, since full resolution of colorpossibilities is achieved between the server side application 210 andthe web-based application 56, errors due to hard-coded colorapproximations are eliminated. The translation process produces themathematical equivalent of the color value that is received from theserver side state color object 202. In addition, since the translationis color independent, individual default color assignments areunnecessary. Direct color translation is achieved for any input colorproperty.

[0028] Turning now to FIG. 3, shown is a flow diagram for colortranslation which could be returned by the color translation code 204according to the present invention. The translate color function 301begins by receiving a color object 302 from the server side application210, such as the Windows™ operating system. The translate color function301 then proceeds through a series of iterative steps 304-308 each ofwhich individually parses out and then converts each color componentcomprising the color object. For example, a standard Windows™ colorobject stores its color in the Win32 standard HBRUSH structure,consisting of a 32-bit value. The low order byte of this 3-byte value isthe red value. The middle byte is the green value. The high order byteis the blue value. By parsing and then converting each color componentof the color object, the color translation process captures theintensities of each of the respective color components into individualnumerical values. These individual color component values are thencombined in step 310 into one HTML color string. At step 312, if text isto be written in combination with the translated color object, the AutoText Color function 314 (FIG. 4) is called. If text is not to bewritten, the HTML color code string 212 is output to the web browser 62in step 315 and the function returns in step 316 to the callingfunction.

[0029] In the exemplary server side application 210, the networkmanagement application 76 supplies default color settings to representthe various alarm states for monitored devices. Typically, these defaultcolor states will include a green state color for representing an“cleared” alarm setting and a red state color for representing a“critical” alarm setting. According to an embodiment of the presentinvention, however, the network management software 76 allows a user tomodify the color settings for the various alarm severity states. Upon auser modification of an alarm color, such as a modification from thedefault color red to a user modified color green to represent a“critical” alarm setting, the color translation code 204 receives thegreen color code in the format of the 32-bit binary data structure.Specifically, the green color code is00000000_(—)00000000_(—)11111111_(—)00000000. The highest order byte isa reserved byte with a value of zero. The second high order byterepresents the intensity of the blue color component, the zero valueindicating the absence of the blue component in the green color object.The second low order byte represents the intensity of the green colorcomponent, the value of 11111111 indicating a maximum intensity of thegreen color component for the green color object. Finally, the lowerbyte represents the intensity of the red color component, the zero value(00000000) indicating the absence of a red color component in the greencolor object. The color translation code 204 then takes this 32-bitvalue and parses out the intensity value for each of the discrete colorcomponents. The red color component may be determined by taking thefirst byte of the 32-bit value. The green component may be determined byshifting the 32-bit value eight bits to the right and taking the firstbyte from the now 24-bit value. Finally, the blue color component may bedetermined by shifting the now 24-bit value eight bits to the right andtaking the first byte of the now 16-bit value. It should be appreciatedthat alternative use of parsing the color object into its discrete colorcomponents are possible.

[0030] The color translation code 204 next only converts each of thecolor component values into a hexadecimal equivalent and outputs an HTMLcolor code string 212 incorporating each of these hexadecimal values.The HTML color code string 212 complies to standard HTML color protocoltaking the format, “#RRGGBB”. In this instance, the translated greencolor object has a HTML string value of “#00FF00”. This HTML color codestring 212 is then sent to the web-based interface where the colorobject is displayed as the green web site object 206. Because thetranslation is dynamic with respect to the modified color object, thetranslated web-side color object will match the exact color object asmodified on the server-side application. The color-independenttranslation function avoids the need and limitations of hard codingconversion tables for converting server side object color codes intoHTML color codes. In addition, server side color modification is notlimited by color approximation required by hard-coded color conversionsystems.

[0031] Turning now to FIG. 4, shown is an Auto Text Color function 314.The Auto Text Color function 314 assigns the color for one region of acolor object that has at least two regions, typically a backgroundregion and a text or foreground region. The color of the region to beassigned, typically the text, is determined from the color of apreviously translated color value for the other region, typically thebackground color.

[0032] The function 314 begins at step 402 where a color intensitythreshold is set. The threshold represents the intensity of anyindividual color component or a combination thereof. This threshold maybe either a default value or adjusted-manually by a user. Specifically,the threshold value is the value at which the color of the text will bechanged from a dark color, such as black, to a light color, such aswhite. According to an embodiment of the present invention, thethreshold is set as the color intensity of any of the color components,red, green, or blue, at an intensity level mid-way between maximum andthe minimum intensity levels. Since each component has an intensityvalue ranging from 00h to FFh, the threshold may be the value 80h. Itshould be understood that the threshold level can be set as theintensity of any individual color component or any combination thereof.It should further be understood that the color intensity threshold maybe predetermined or preset. The default text colors of black and whitemay be modified to any desirable color combination that provides highcolor contrast against a wide range of background color and foregroundcolor. Changes in the default text colors will, in most cases, requirethe threshold setting to be changed in order to maintain s suitable hightext/background contrast. A suitably high text/background contrastenables a user to easily discern the text.

[0033] The Auto Text Color routine 314 determines, at step 404, whetherthe intensity for either the red, green, or the blue component of thecolor object for the background color, or other first region of a colorobject having multiple regions, translated by the translate colorfunction 301 (FIG. 3) is above the color intensity threshold. It shouldbe appreciated that a variety of mathematical or logic operators mightbe used to compare a color component with the color intensity threshold.For example, it might be determined if a color component is less thanequal to the threshold. If any of the color components has an intensitygreater than the default color intensity threshold, then the text color,or other second region of a color object, may be set to black.Alternatively, if none of the components of the background color objecthas an intensity above the default threshold, the text color may be setto white at step 408. After the text color is determined, its colorvalue is output as an HTML color code string 212 to the web-basedinterface56 in the same manner as the background color object translatedby the translate color function 301. The routine 314 returns to thecalling function in step 412.

[0034] The Auto Text Color routine 314 automatically assigns the textcolor according to the intensity level of any background color componentmaking up the color object. For example, the routine changes the textcolor from black to white when the intensity for each of the colorcomponents drops below 80h. As an alternative, the text color might beset as the mathematical inversion or opposite of the background color.In such an instance, a threshold would not be needed as the text colorwould be determined directly from the attentive background color valueas translated by the translate color function 301.

[0035] The translate color routine 301 is called whenever a change ismade to a color object setting in a server side application. FIG. 5shows an exemplary device status dialog 500 for exemplary networkmanagement system application 76. Each severity alarm corresponds to adifferent color. A cleared severity alarm corresponds to a green statecolor. An indeterminate severity alarm corresponds to a blue statecolor. A minor severity alarm corresponds to a yellow state color. Amajor severity alarm corresponds to a orange state color. Finally, acritical severity alarm corresponds to a red state color. In such asystem, the color indicators assigned to each severity alarm can bemodified. Therefore, upon a change initiated by the user at the networkmanagement application76, for example, changing the critical alarmsetting from a red indicator to a green indicator, any subsequent alarmsof critical type will register as a green indicator on the web browser62. Likewise, any modification to other severity alarm indicator colorswill be immediately seen on the web browser 62 upon its next update.Thus, the color independent translation scheme eliminates the need toprovide a number of default color settings and enables a user tocustomize color alarm indicators according to user preferences.

[0036] Turning now to FIG. 6, shown is an exemplary implementation orapplication of the Auto Text Color feature. The screen shot 700 showsthe various color-coded entries on an event log viewer, displayingdevice status, for the exemplary network management system N.Specifically, any event log entry that is an alarm is indicated with itsalarm status and a color identifier associated with the severity of thatparticular alarm. In the example shown for the event log screen shot700, illustrated are three sets of alarm types having different states.According to the event log 700, an alarm has been triggered for a devicenamed router 4 (first row) with a severity of “major” 702. Anotherdevice, Netelligent 5226.7 (third row) has triggered an alarm with a“critical severity” 704. Likewise, in rows 6, 9-11, and 13-16 unnameddevices have triggered threshold alarms listed as “critical” but havingsince been cleared 706. Each of the alarm severity are indicated usingdifferent colors. For example, the critical alarm state 704 may beindicated as a red color. On the other hand, the critical alarms thathave since been cleared 706, may be indicated as a green color. Otheralarm states, severity status of major for instance, are assigned othercolors,.

[0037] An example revealing the operation of the Auto Text Color routine314 may be helpful. According to a disclosed embodiment of the presentinvention, the text color is set at a default of black. Upon a change inthe background color caused by a change in the alarm state of aparticular device being monitored, or a color change by the user, theAuto Text Color routine 314 is called to select the appropriate contrastbetween the text or foreground color and the background color. The textcolor remains black for the critical alarm events 704, indicated with abackground color of red, and the critical alarms that have since beencleared are indicated by a background color of green. In thoseinstances, the red, green, or blue components of the background colors,red and green respectively, have intensity value above the preset colorintensity threshold. However, the alarm severity major 702 indicated bythe background color of brown causes the Auto Text Color routine 314 tochange the text color from black to white. In this case, neither thered, green, nor blue component of the background color brown has anintensity value that exceeds the threshold. Therefore, the Auto TextColor routine 314 achieves a suitably high contrast between thebackground color and the text color providing improved readabilityindependent of the background color assigned. This automatic featureadditionally provides increased flexibility allowing a user to modifythe colors associated with each particular severity alarm status.Specifically, the Auto Text Color 314 routine changes the color of thetext from black to white depending on the darkness or lightness of thealarm color serving as the background for that text. In this way, thereis no need to hard-code a table of expected alarm color settings toensure a user may discern the text from the background color.

[0038] Although for exemplary purposes the Auto Text Color routine 314selects between black and white text or foreground color, it should beunderstood that any number of color combinations may be used. Inaddition, although for exemplary purposes high contrast is sought, anygradient of contrast between the background and the text or foregroundcolor can be achieved. For example, in some applications, for examplefor security reasons, it may be desirable to minimize contrast such thatthe text and the background colors closely approximate each other.Therefore, instead of switching- from a white to a black text color whenany color component has an intensity above a preset threshold, the AutoText Color routine will switch from a black to a white text color abovesaid threshold. Finally, it will be understood that the Auto Text Colorroutine 314 can be used to automatically select as the text color themathematical inversion of the background color. In such case, the textcolor is determined directly from the background color.

[0039] The foregoing disclosure and description of the preferredembodiment are illustrative and explanatory thereof, and various changesin the number of variables, number of parameters, order of steps, fieldsizes, data types, code elements, code size, connections, components,color object types, and circuitry, as well as in the details of theillustrated hardware and software and construction and method ofoperation may be made without departing from the spirit of theinvention.

I claim:
 1. A method for displaying a state color object on a computerdisplay, the state color object including at least two regions eachassigned a color property, each color property comprising at least twocolor components defining the color property, the color propertyselected to have a high color contrast between the two regions, themethod comprising the steps of: detecting a color property for a firstregion of the color object; converting the color property for the firstregion into a numerical value; and selecting a color property for asecond region that has a numerical value representing a color propertyhaving a high contrast with the color property of the first region. 2.The method of claim 1, the converting step comprising the steps of:generating a red color component based on the color property for thefirst region of the color object; generating a green color componentbased on the color property for the first region of the color object;and generating a blue color component based on the color property forthe first region of the color object.
 3. The method of claim 1, theselecting step comprising the steps of: setting a threshold intensityvalue corresponding to the intensity of a color component for the colorproperty of the first region; selecting a first color property for thesecond region when the intensity of a color component for the colorproperty of the first region is above the threshold intensity value; andselecting a second color property for the second region when theintensity of a color component for the color property of the firstregion is below the threshold intensity value.
 4. The method of claim 3,wherein the threshold intensity value corresponds to any single colorcomponent for the color property of the first region.
 5. The method ofclaim 3, wherein the threshold intensity value corresponds to acombination of the components for the color property of the firstregion.
 6. The method of claim 3, wherein the first color property isblack and the second color property is white.
 7. The method of claim 3,wherein the first region is a background region and the second region isa foreground region.
 8. The method of claim 1, further comprising thestep of: modifying a color property according to user preferences toadjust the color contrast between the color property of the first regionand the color property of the second region.